package dao;

import hibernateUtils.HibernateUtil;

import java.util.List;

import org.hibernate.SessionFactory;
import org.hibernate.classic.Session;

import beans.ItemStockBean;

public class HibernateItemStockDAO {
	private static HibernateItemStockDAO instancia;
	private static SessionFactory sf;

	public static HibernateItemStockDAO getInstancia() {
		if (instancia == null) {
			sf = HibernateUtil.getSessionFactory();
			instancia = new HibernateItemStockDAO();
		}
		return instancia;
	}

	public ItemStockBean buscarItemStock(ItemStockBean ab) {
		Session session = sf.openSession();
		ItemStockBean itemstock = (ItemStockBean) session.get(
				ItemStockBean.class, ab.getIdItemStock());
		session.close();
		return itemstock;
	}

	public List<ItemStockBean> getItemStocks(int idSucursal) {
		Session session = sf.openSession();
		List<ItemStockBean> itemstocks = session
				.createQuery("from ItemStockBean a where a.idItemStock=?")
				.setInteger(0, idSucursal).list();
		return itemstocks;
	}

	public void update(ItemStockBean itb) {
		Session session = sf.openSession();
		session.beginTransaction();
		session.saveOrUpdate(itb);
		session.beginTransaction().commit();
		session.flush();
		session.close();
	}

	public List<ItemStockBean> buscarUltimoItemStock() {
		Session session = sf.openSession();
		List<ItemStockBean> itemstocks = session.createQuery(
				"from ItemStockBean").list();
		return itemstocks;
	}
}
